<template>
  <upload-excel :on-success='success'/>
</template>

<script>
import {importEmployee} from '@/api/employee'
export default {
  methods: {
   async success({header, results}){
  //  header头部的数据
  // results是一个数组，数组里面有每行的数据 键值对的形式 但是键是中文
    // 分析将excel的中文键换成了英文键
        // console.log(results);
    //  let newArr = results.map(item => {
    //       console.log(item);
    //       console.log(Object.keys(item));['手机号','姓名','部门'],['手机号','姓名','部门'],['手机号','姓名','部门'] //拿到每一个对象的key 有几条数据就拿到几个数组
    //        /*  Object.keys(item).forEach(key => {
    //             console.log(key);
    //             console.log(item[key]);
    //         }) */
    //         /* var userInfo = {}          
    //         for(let k in item){
    //             console.log('k中文键', k);
    //             console.log('item[k]值',item[k]);
    //             console.log('英文键',userRelations[k]);
    //             userInfo[userRelations[k]] = item[k] //将原来中文的值给英文的值 userInfo.mobile = '1234567'
    //         }
    //         console.log(userInfo);
    //         return userInfo */
           
    //     })
        const userRelations = {
                '入职日期': 'timeOfEntry',
                '手机号': 'mobile',
                '姓名': 'username',
                '转正日期': 'timeOfEntry',
                '工号': 'workNumber',
                '部门': 'departmentName'
          }
        let newArr =  results.map(item => {
              let userInfo = {}
              for(let k in item){
              if(userRelations[k] === 'timeOfEntry' || userRelations[k] === 'timeOfEntry'){
                userInfo[userRelations[k]] = new Date(this.formatDate(item[k], '/')) //只有这样才能入库
                
              }else{
                userInfo[userRelations[k]] = item[k]
              }
              } 
              return userInfo //不return的话拿到的newArr为三个undefined
          })
          // console.log(newArr);
         await importEmployee(newArr)
         this.$router.back() //返回员工页面
         this.$message.success('导入成功')
    },
    // 格式化时间
    formatDate(numb, format) {
    const time = new Date((numb - 1) * 24 * 3600000 + 1)
    time.setYear(time.getFullYear() - 70)
    const year = time.getFullYear() + ''
    const month = time.getMonth() + 1 + ''
    const date = time.getDate() - 1 + ''
    if (format && format.length === 1) {
      return year + format + month + format + date
    }
    return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date)
  }

  }
}
</script>

<style>

</style>